package com.File_io_.io_.InputStreame;

import org.junit.jupiter.api.Test;

import java.io.FileInputStream;
import java.io.IOException;

/**
 * @author 宋鑫宇
 * @version 1.0
 * 演示FileInputStream的使用（字节输入流  文件 --> 程序）
 */
public class FileInputStream_ {
    public static void main(String[] args) {

    }


    /**
     * 单个字节读取 read() 效率较低，且乱码
     * 使用read(byte[] b) 方法来读取文件
     * */
    @Test
    public void readFile01() {
//        int read = 0;
        byte[] buf = new byte[8];//一次读取8个字节
        FileInputStream fileInputStream = null;
        try {
            fileInputStream = new FileInputStream("D:\\idea_WorkSpace\\myjava\\myjava\\src\\com\\File_io_\\hello.txt");
            //读取一个字节的数据，如果没有输入可用
            //如果读取正常，返回实际读取的字节数
            while ((fileInputStream.read(buf)) != -1){
                System.out.print(new String(buf,0, buf.length));
            }

        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            //关闭文件流，释放资源
            try {
                fileInputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
